import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App.vue'
import router from './router'
import md5 from 'js-md5'

// 引入公共样式
import './assets/css/base.css'
// 引入阿里巴巴矢量库
import './assets/iconfont/iconfont.css'
// 引入正则表达式
import {
  isValidPwd,
  isValidPhone,
  isValidCode
} from './assets/validation/validator' // 自定义验证函数

// 全局密码验证
Vue.prototype.ValidPwd = (rule, value, callback) => {
  if (!value) {
    // 没有值
    callback(new Error('请输入密码'))
  } else if (!isValidPwd(value)) {
    // 正则匹配不到
    callback(new Error('请输入6-20个字母、数字、下划线'))
  } else {
    // 值正确
    callback()
  }
}

// 全局手机号验证
Vue.prototype.ValidPhone = (rule, value, callback) => {
  if (!value) {
    // 没有值
    callback(new Error('请输入手机号'))
  } else if (!isValidPhone(value)) {
    // 正则匹配不到
    callback(new Error('请输入正确格式'))
  } else {
    // 值正确
    callback()
  }
}

// 全局验证码验证
Vue.prototype.ValidCode = (rule, value, callback) => {
  if (!value) {
    // 没有值
    callback(new Error('请输入验证码'))
  } else if (!isValidCode(value)) {
    // 正则匹配不到
    callback(new Error('验证码为6位数字'))
  } else {
    // 值正确
    callback()
  }
}

Vue.use(ElementUI)
Vue.config.productionTip = false
Vue.prototype.$md5 = md5

new Vue({
  router,
  el: '#app',
  render: h => h(App)
}).$mount('#app')
